package com.ichir.projects.uiflow.definition;

import java.util.List;

import com.ichir.projects.uiflow.ui.api.IUiPart;



/**
 * Flow UI Part.
 * 
 * @author mahieddine
 */
public interface IFlowPart {

	/**
	 * @return flow part target class name
	 * @throws ClassNotFoundException 
	 */
	Class<? extends IUiPart> getUiPartClassname();
	
	/**
	 * @return flow part transitions
	 */
	List<? extends ITransition> getTransitions();
	
	/**
	 * @return flow part id
	 */
	String getId();
	
	/**
	 * @return flow type
	 */
	FlowType getType();
}
